QUnit.test( "测试类基础功能部分", function( assert ) {
    //创建被测试对象
    var oper=KSFormCreator.Create();
    
    
    assert.deepEqual(oper,new KSFormCreator(),'判断是否等值');
    
    assert.equal('1.0.1',oper.getVersion(),'判断当前组件版本');
    
    //验证基础类异常信息
    assert.equal(1000001,KSFormCreator.CONST_ERROR_CODE_API_NEED_JQUERY,'需要JQUERY 的错误编码');
    
    
    assert.equal('Did not find the JQUERY class library, the API needs it!',oper.getErrorInfo(KSFormCreator.CONST_ERROR_CODE_API_NEED_JQUERY),'异常信息测试');
    assert.equal('Form type is not valid!',oper.getErrorInfo(KSFormCreator.CONST_ERROR_CODE_FORM_CELL_TYPE_ERROR),'异常信息测试');
    assert.equal('Not find the element from template!',oper.getErrorInfo(KSFormCreator.CONST_ERROR_CODE_FORM_CELL_NOT_FIND_ELEMENT_FROM_TEMPLATE),'异常信息测试');
    
});

QUnit.test( "解析CELL元素中的属性信息", function( assert ) {
    //创建被测试对象
    
    //创建要创建表单的json
    var input_json={
        "action": "recevice.php",
        "method": "POST",
        "default":{
            "attr":[["style","color:red;"]], //默认的样式值,下标0是属性名称，下标1是属性取值
        },
        "cell": [
            {
                "type": "text",
                "name": "t1",
                "attr":[["style","color:blue;"],["value","Default text"]]
            },
            {
                "type": "text",
                "name": "t2",
                "attr":[]
            }
        ]
    };
    
    //获取0下标的所有属性值
    var cell_attr_index_0_arr=KSFormCreator.GetCellAttr(0,input_json); 
    
    assert.equal("style",cell_attr_index_0_arr[0][0],'验证下标0的属性信息');
    assert.equal("color:red;",cell_attr_index_0_arr[0][1],'验证下标0的属性信息');
    
    assert.equal("style",cell_attr_index_0_arr[1][0],'验证下标0的属性信息');
    assert.equal("color:blue;",cell_attr_index_0_arr[1][1],'验证下标0的属性信息');
    
    assert.equal("value",cell_attr_index_0_arr[2][0],'验证下标0的属性信息');
    assert.equal("Default text",cell_attr_index_0_arr[2][1],'验证下标0的属性信息');
    
    //获取下标1所有的属性值
    var cell_attr_index_1_arr=KSFormCreator.GetCellAttr(1,input_json); 
    
    assert.equal("style",cell_attr_index_1_arr[0][0],'验证下标1的属性信息');
    assert.equal("color:red;",cell_attr_index_1_arr[0][1],'验证下标1的属性信息');
    
});

QUnit.test( "设置获取构造MAP，并且生成表单的测试", function( assert ) {
    //创建被测试对象
    var oper=KSFormCreator.Create();
    
    //创建要创建表单的json
    var input_json={
        "action": "recevice.php",
        "method": "POST",
        "default":{
            "attr":[["style","color:red;"]], //默认的样式值,下标0是属性名称，下标1是属性取值
        },
        "cell": [
            {
                "type": "text",
                "name": "t1",
                "attr":[["style","color:blue;"],["value","Default text"]]
            },
            {
                "type": "text",
                "name": "t2",
                "attr":[]
            }
        ]
    };
    
    
    //创建被测试对象 setItems("JSON构造图纸","父节点对象")
    oper.setMap(input_json);
    assert.equal(2,oper.getMap().cell.length,"获取构造图中cell信息");
    
    //清除JSON 信息
    oper.setMap([]);
    assert.equal(0,oper.getMap().length,"信息清除成功");
    
    //继续测试
    assert.equal(2,oper.setMap(input_json).getMap().cell.length,"获取构造图中cell信息，合并写法，和拆开写的功能是一样的");
    
    //创建存储表单的DIV 对象
    var div_form= $('<div id="test_form"></div>');
    //断定这个创建的DIV 
    assert.equal("test_form",$(div_form).attr("id"),"DIV对象创建成功");
    assert.equal("",$(div_form).html(),"DIV内部为空");
    
    oper.makeForm(div_form); //生成信息到这个特定的DIV中。
    
    //检查生成结果（这里仅仅检查表单的生成状况）
    assert.equal(1,$(div_form).find("form").length,'成功添加1个表单');
    assert.equal("recevice.php",$(div_form).find("form").attr("action"),'验证表单信息action');
    assert.equal("POST",$(div_form).find("form").attr("method"),'验证表单信息method');
    
});